main(){int a,b;a=32767;b=a+1;printf("a=%d,b=%d\n",a,b); } 这个程序为什么会没有运行结果

来源:百度知道 编辑:UC知道 时间:2024/09/21 15:55:33
main()
{
int a,b;
a=32767;
b=a+1;
printf("a=%d,b=%d\n",a,b);
}
这个程序为什么没有运行结果?谁能帮我

#include <stdio.h>

main()
{
long a,b;
a=32767;
b=a+1;
printf("a=%d,b=%d\n",a,b);
}

这个a当为二进制时就超过了.所以你要改变类型.

运行是没问题的..只是在TC下B的值会等于,-32768,要想B等于正的32768,就要定义变量成long a,b;

加头:
#include <stdio.h>

main()
{
int a,b;
a=32767;
b=a+1;
printf("a=%d,b=%d\n",a,b);
}